package com.dingding.special.user.set.dao;

import com.dingding.common.core.beans.special.Specialuserposition;
import com.dingding.facade.special.trasfer.up_posi.ReqSetUserStatusDTO;

/**
 * 
 * @ClassName: ISetUserStatusDao 
 * @Description: 设置用户当前状态操作DAO
 * @author CHEHAUNBO 
 * @date 2016年8月19日 上午10:25:20
 * 
 */
public interface ISetUserStatusDao {

	/**
	 * 通过用户ID,获取用户实时位置
	 * 
	 * @Title: getSpecialUserPositionByUserId
	 * @param userId 用户ID
	 * @return Specialuserposition 用户实时位置
	 * @author CHEHAUNBO
	 * @since V2.4.0
	 * 
	 */
	public Specialuserposition getSpecialDriverPositionByUserId(String userId);

	/**
	 * 
	 * 保存用户实时位置（车主）
	 * 
	 * @Title: saveSpecialDriverPosition
	 * @return true 成功 false 失败
	 * @author CHEHAUNBO
	 * @since V2.4.0
	 * 
	 */
	public boolean saveSpecialDriverPosition(Specialuserposition specialuserposition);

	/**
	 * 
	 * 保存用户实时位置（车主）
	 * 
	 * @Title: saveSpecialDriverPosition
	 * @return true 成功 false 失败
	 * @author CHEHAUNBO
	 * @since V2.4.0
	 * 
	 */
	public boolean saveSpecialDriverPosition(ReqSetUserStatusDTO reqSetUserStatusDTO);

	/**
	 * 
	 * 更新用户实时位置（车主）
	 * 
	 * @Title: saveSpecialDriverPosition
	 * @param type 操作类型 出车 收车
	 * @return true 成功 false 失败
	 * @author CHEHAUNBO
	 * @since V2.4.0
	 * 
	 */
	public boolean updateSpecialDriverPosition(Specialuserposition specialuserposition, int type);

	/**
	 * 
	 * 保存用户出车记录信息
	 * 
	 * @Title: saveOutwardRunRecord 
	 * @param specialuserposition
	 * @param type  操作类型  出车 or 收车
	 * @author CHEHAUNBO
	 * @since V2.4.0
	 * 
	 */
	public void saveOutwardRunRecord(Specialuserposition specialuserposition, int type);

}
